home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 011-020 / amok16 / m2make / txt / interface.def < prev    next >
Text File  |  1993-11-04  |  2KB  |  65 lines

  1. (**********************************************************************
  2.  
  3.     :Program.    Interface.def
  4.     :Contents.   Interface between m2make, m2c and m2l
  5.     :Support.    thanks to Fridtjof for his contribution to "Startm2c"
  6.     :Author.     Nicolas Benezan [bne]
  7.     :Address.    Postwiesenstr. 2, D7000 Stuttgart 60
  8.     :Phone.      711/333679
  9.     :Copyright.  Shareware, see Doc-File
  10.     :Language.   Modula-2
  11.     :Translator. M2Amiga A+L V3.2d
  12.     :Imports.    Environment, MemSystem1.3, ErrorReq1.2 [bne]
  13.     :Imports.    Queue1.1 [mif]
  14.     :History.    V1.0 [bne] 11.Feb.1989
  15.     :History.    V1.1 [bne] 30.Mar.1989 (CreateProc bug fixed)
  16.     :History.    V1.2 [bne] 4.Apr.1989 (+ Options)
  17.  
  18. **********************************************************************)
  19.  
  20. DEFINITION MODULE Interface;
  21.  
  22. FROM SYSTEM     IMPORT ADDRESS;
  23. FROM Arts       IMPORT ModName;
  24. FROM Dos        IMPORT FileLockPtr;
  25.  
  26. CONST   CompilerName = "m2c";
  27.         LinkerName   = "m2l";
  28.  
  29. PROCEDURE InitCompilerArgList;
  30. (*:Semantic.    Initialises the argument list for the compiler,
  31.   :Semantic.    must be called before any AddCompilerArg().
  32. *)
  33.  
  34. PROCEDURE AddCompilerArg(Argument:ModName;Dir:FileLockPtr);
  35. (*:Input.       Argument: Name of the module to be compiled
  36.   :Input.       (with extension, but without path)
  37.   :Input.       Dir: FileLock of the directory containing the module
  38.   :Semantic.    Queues a compiler argument.
  39.   :Note.        Dir is DupLock()ed.
  40. *)
  41.  
  42. PROCEDURE StartCompiler;
  43. (*:Semantic.    Starts the compiler and passes all arguments
  44.   :Semantic.    previously queued with AddCmpilerArg().
  45. *)
  46.  
  47. PROCEDURE StartLinker(Argument:ModName;
  48.                       Dir:FileLockPtr);
  49. (*:Input.       Argument: Name of the module to be linked
  50.   :Input.       (with extension, but without path)
  51.   :Input.       Dir: FileLock of the directory containing the module
  52.   :Semantic.    Starts the linker and passes options and argument to it.
  53.   :Note.        Dir is DupLock()ed.
  54.   :Note.        Do not StartLinker() before the Compiler has finished.
  55. *)
  56.  
  57. PROCEDURE WaitUntilCompleted;
  58. (*:Semantic.    Waits for the compiler or linker to Exit(), then
  59.   :Semantic.    deallocates its arguments.
  60.   :Note.        The Dirs of arguments are UnLocked().
  61. *)
  62.  
  63. END Interface.
  64.  
  65.